<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // JS同步和异步
    // 同步 ->  按步骤 按顺序执行 =>  代码自上而下按顺序执行, 前面的代码执行完毕之后,执行后续
    // 异步 -> 同时执行,也叫并发


    // 同步代码:
    // console.log("代码开始执行!");
    // for (var i = 0; i < 6; i++) {
    //     console.log(i);
    // }
    // console.log("代码执行完毕!");


    // 假设代码以同步方式执行: 循环x6 -> 每次(1s) -> 6s  -> 浪费时间/浏览器的性能

    // 异步代码:  -> 同时执行,也叫并发 -> 只是循环启动了6个延时器,但是并不等待延时器执行 -> 循环快速执行完毕, 延时器计时结束之后 -> 执行回调函数
    console.log("代码开始执行!");
    for (var i = 0; i < 6; i++) {
        setTimeout(function () {
            console.log(i);
        }, 1000);
    }
    console.log("代码执行完毕!", i);

    // 但是JS执行线程(执行代码的线程)时单线程的? 





</script>

</html>